****************************************************************************** ****************************************************************************** BIRD ID#: ISSUE TITLE: External Test Data and Test Load REQUESTER: Anders Ekholm, Ericsson, Mike LaBonte, Cisco Systems DATE SUBMITTED: DATE REVISED: November 23, 2010 DATE ACCEPTED BY IBIS OPEN FORUM: PENDING ****************************************************************************** ****************************************************************************** STATEMENT OF THE ISSUE: The IBIS [Test Data] and [Test Load] keywords have so far failed to gain any significant use by IC vendors. Some of the concerns are the large file sizes that would result from embedding test data within IBIS files, as well as limitations of the [Test Load] keyword in expressing the sometimes more complex test fixtures preferred by IC vendors. Yet, users would benefit from having [Test Data] to compare against IBIS simulations of the same circuits, to verify correlation. Existing [Test Load] structures are too limited to use for measurement data. The current [Test Data] structure only allows for single edge data, not pulse trains. Also they are required to be reside in the actual IBIS file as the associated [Model]s, which tends to make the files unreasonably large. ****************************************************************************** STATEMENT OF THE RESOLVED SPECIFICATIONS: To solve this problem it is suggested to add new [External Test Data] and [External_Test_Load] features to the IBIS specification, these new structures will enable all old [Test Data] and [Test Load] structures to be modeled in the new keyword and will thereby make the old keyword redundant. The new Keyword will be much more flexible to use to both model test load and to add test data. New Keywords: | Keyword: [External Test Data] file_name | Required: No | Description: Associates external test data files with Test loads | Sub-Params: probe_points, External_Test_Load, modelname, modelpin, | External_Test_In, External_Test_Out, External_Test_Load_Type, | External_Test_stimuli | Usage Rules: Provide filenames for typ, min and max cases, NA is allowed for | the min and max cases. | Waveform file format are Starting first row with labeling the | columns which is time, n1,n2...,n9 | The column labels have to be the same as the node names | defined in the Probe_points statement and the | [External_Test_Load] file. | | | [Probe_points] n1 n2 n3 n4 n5 n6 n7 n8 n9 | Probe_points indicates the point in the external_Test_Load | at which waveform data are given in the External_Test_Data | files. A Maximum of 9 nodes can be specified. | Probe point are mapped by name to the external Load file. | | [External_Test_Load] file_name | File_name is given in the standard typ, min, max format. Min | and Mx can be defined as NA. External Test Load points to | files containing a description of the test load used to supply | golden waveforms test cases to a buffer model. The external | model have to be specified in IBIS Interconnect Spice language. | | It needs to be possible to define typ, min and max files if | package modeling is done in the external test load file and | in that case there might be a need to supply min and max loads. | If min, max are not specified or are specified as NA The typ | external test load will be used in correlating any typ, min, | and max waveform files. | | [Modelname] Buffer_model_name | Modelname defines which model we are using to generate test | data, When Modelname is used no package model form the IBIS | model will be used. | | [Modelpin] Pin Model_selector | The pin referenced in Modelpin must be a specified pin in the | components pin list. Using a [Modelpin] keyword will automatically | include any pin model for that pin in any form it might be given | in standard IBIS format. If a pin model refers to an model selector | the default model in that model selector will be used if another | model in the model selector is not specifically referenced. | | [External_test_In] Node Neg_node | This defines which node in the External Test Load is attached to | the buffer. | | [External_test_Out] Node Neg_node | This defines which node in the External Test Load is attached to | a possible used receiver buffer. | | [External_Test_Load_type] IN|OUT SE|DIFF | IN or OUT specifies if an input or an output are being tested, | if IN is specified it means that an input are tested and it should | apply the tested model to External_Test_Out node of the | External_Test_Load, the stimuli need to be applied at External_Test_in | node. If OUT is specified it means that an output is tested and | it should be applied at the external_test_out node of the | External_Test_Load. | If SE is specified the test is run Single ended and if DIFF is specified | the test will be run Differential, and in that case two nodes need to be | specified in [External_Test_In] and [External_Test_Out] | | [External_Test_stimuli] is a table specifying the switches of the | test stimuli. The table contains time and a specification if the switch is | a positive edge (pos) or a negative edge (neg) | Switchingtime Pos/neg | t0 pos | t1 neg | t2 pos | t3 pos | .. | | The stimuli specification only specifies a number of switches at different | times which do not have to be equidistant in time, and we could even | specify two or pos or neg switches after each other ----------------------------- Question: are we going to allow receiver buffers from other IBIS files to be specified ? And if we are testing receivers are we going to allow drivers from other IBIS files to be specified? ----------------------------- New Keywords tree structures in the spec: [External_Test_Data] typ min max |-- [[Probe_points] n1 n2 n3 n4 n5 n6 n7 n8 n9 |-- [External_Test_Load] typ min max |-- [Modelname] |-- [Modelpin] |-- [External_test_In] |-- [External_test_Out] |-- [External_Test_Load_type] ****************************************************************************** ANALYSIS PATH/DATA THAT LED TO SPECIFICATION The rather large limitation of the old [Test Data], [Test Load] keywords lead to a try to define something more general an simpler to use for an IC vendor. In the new structure an IC vendor do not need to preform extra simulations on various test loads that the vendor have to specifically create to fit the old [Test Load] keyword, The IC vendor can in the new formulation use data that was simulated to create internal tests, and the vendor can just specify that load in the form of IBIS Interconnect Spice. This change will not remove the old [Test Data], [Test Load] keywords but to some extent make them obsolete. ***************************************************************************** ANY OTHER BACKGROUND INFORMATION: ******************************************************************************